package zy.dao.stock.check;

import java.util.List;
import java.util.Map;

import zy.dto.stock.check.CheckDiffDto;
import zy.entity.PageData;
import zy.entity.base.product.T_Base_Product;
import zy.entity.stock.T_Stock_Import;
import zy.entity.stock.check.T_Stock_Batch;
import zy.entity.stock.check.T_Stock_Check;
import zy.entity.stock.check.T_Stock_CheckList;
import zy.entity.stock.data.T_Stock_DataBill;
import zy.entity.stock.data.T_Stock_DataView;

public interface CheckDAO {
	Integer batch_count(Map<String,Object> params);
	List<T_Stock_Batch> batch_list(Map<String,Object> params);
	T_Stock_Batch batch_load(Integer ba_id);
	T_Stock_Batch check(String number,Integer companyid);
	T_Stock_Batch check(String number,Integer us_id,Integer companyid);
	List<T_Stock_Batch> batch_check(Map<String,Object> params);
	void batch_save(T_Stock_Batch batch);
	void batch_updateApprove(T_Stock_Batch batch);
	void batch_delete(String ba_number, Integer companyid);
	
	List<T_Stock_Check> check_list4exec(String ba_number,Integer companyid);
	T_Stock_Check check_load(String ck_number,Integer companyid);
	List<T_Stock_CheckList> check_detail_list_all(Map<String, Object> params);
	List<T_Stock_CheckList> check_detail_sum_all(Map<String, Object> params);
	List<String> check_detail_szgcode_all(Map<String, Object> params);
	List<T_Stock_CheckList> check_detail_list_forsavetemp(String ck_number,Integer companyid);
	List<T_Stock_CheckList> check_detail_list(Map<String, Object> params);
	List<T_Stock_CheckList> check_detail_sum(Map<String, Object> params);
	List<String> check_detail_szgcode(Map<String,Object> params);
	List<T_Stock_CheckList> check_temp_list(Map<String, Object> params);
	List<T_Stock_CheckList> check_temp_list_forimport(String ba_number,Integer ckl_isrepair,Integer us_id,Integer companyid);
	List<T_Stock_CheckList> check_temp_list_forrepair(String ba_number,Integer us_id,Integer companyid);
	List<T_Stock_CheckList> check_temp_list_forsave(String ba_number,String dp_code,Integer us_id,Integer companyid);
	List<T_Stock_CheckList> check_temp_sum(Map<String, Object> params);
	List<String> temp_szgcode(Map<String,Object> params);
	T_Stock_CheckList check_temp_loadBySubCode(String sub_code,String ba_number,Integer ckl_isrepair, Integer us_id, Integer companyid);
	Integer count_product(Map<String, Object> param);
	List<T_Base_Product> list_product(Map<String, Object> param);
	T_Base_Product load_product(String pd_code,Integer companyid);
	Map<String, Object> load_product_size(Map<String,Object> params);
	void check_temp_save(List<T_Stock_CheckList> temps);
	void check_temp_save(T_Stock_CheckList temp);
	void check_temp_update(List<T_Stock_CheckList> temps);
	void check_temp_updateById(List<T_Stock_CheckList> temps);
	void check_temp_update_repair(List<T_Stock_CheckList> temps);
	void check_temp_update(T_Stock_CheckList temp);
	void check_temp_updateRemarkById(T_Stock_CheckList temp);
	void check_temp_updateRemarkByPdCode(T_Stock_CheckList temp);
	void check_temp_del(List<T_Stock_CheckList> temps);
	void check_temp_del(Integer ckl_id);
	void check_temp_delByPiCode(T_Stock_CheckList temp);
	void check_temp_clear(String ba_number,Integer ckl_isrepair,Integer us_id,Integer companyid);
	void check_temp_clear_all(String ba_number,Integer us_id,Integer companyid);
	List<T_Stock_Import> check_temp_listByImport(List<String> barCodes,Integer companyid);
	void check_save(T_Stock_Check check, List<T_Stock_CheckList> details);
	void check_delete(String ck_number,Integer companyid);
	List<T_Stock_DataView> check_missing(Map<String, Object> params);
	List<T_Stock_CheckList> check_detail_list_stockamount(String ba_number, String dp_code, Integer companyid);
	void check_detail_updateStockAmount(List<T_Stock_CheckList> details);
	List<T_Stock_CheckList> check_missing_execall(Map<String, Object> params);
	void check_detail_all_save(List<T_Stock_CheckList> details);
	void batch_update_exec(T_Stock_Batch batch);
	void check_update_exec(Integer ck_isexec,String ck_execdate,String ba_number,Integer companyid);
	List<T_Stock_DataBill> listStock(String ba_number,String dp_code, Integer companyid);
	Map<String, Object> check_diff_stat(Map<String, Object> params);
	PageData<CheckDiffDto> check_diff_list(Map<String,Object> params);
	PageData<CheckDiffDto> check_diff_sum(Map<String,Object> params);
}
